<?php
/**
 *uri到mvc的映射
 *
 *静态uri，是指在uri配置中已存在的。
 *动态uri，规则是：1：使用/分隔，奇数常量，偶数变量  2：可以使用-代替/ 
 *
 *
 *@package TRestful
 *@copyright Copyright (c) 2012-2014 Tuniu.com
 *@author huxiaomin 2012
 *@version 1.0
 */

class TRestful{

	function __construct(){
		
	}
	
	/**
	 * 解析uri到app和默认api
	 * @param $uri
	 */
	static function parseUri($uri){
		
		//使用路由规则。
		
		if (empty($uri)){
		  return array();
		}
	    $uri_arr = explode('/', $uri);
        $folder = $uri_arr[1];
        $file   = self::formName($uri_arr[2]);
        $api    = $uri_arr[3];
        $pwd = TAPP_DIR."{$folder}/".$file.TAPP_SUFFIX;
        $class_name = $file.'App';
        $tpl = "{$folder}/{$file}.{$api}.html";
        $pwd_tpl = TTPL_DIR."{$folder}/{$file}.{$api}.html";
        return array(
                     'pwd' => $pwd,
                     'dir' => "{$folder}/".$file,
                     'folder'=>$folder,
                     'class'=>$file,
        			 'class_name'=>$class_name,
                     'api' => $api,
                     'tpl' => $tpl,
        			 'pwd_tpl'=>$pwd_tpl,
                );
	}
	
	/**
	 * 将-间隔的字符串改成大写
	 * @param $name
	 */
	static function formName($name){
	    $name = strtr($name, '-', ' ');
	    $name = ucwords($name);
	    $name = strtr($name, array(' '=>''));
	    return $name;
	}

}